Voice over IP (VoIP) has the capability of substantially lowering costs with respect to traditional telephone service. Rather than use conventional analog telephone lines, a user having a VoIP-enabled telephone or device connects with other callers through the digital lines supported by the Internet. Because the connection is digital, a VoIP-enabled phone offers features and services that a conventional telephone typically cannot, such as sending images or videos in conjunction with voice communication. Moreover, as is the case with conventional Web-browsing, VoIP calls have the potential for the same toll, regardless of the length of the conversation and the distance called.
Although VoIP telephony has great potential, it also faces considerable technical challenges. In traditional telephony, a call is placed over a dedicated circuit. The traditional telephone network provides resources that guarantee the voice quality over this dedicated circuit set up to support the telephone call. In contrast, communication over the Internet is packet-based. Each packet has two parts: an information payload and meta-data such as the destination address. On the Internet, packets are forwarded by routers based upon the destination address. Each packet making up digital content could thus be sent from a source to a destination address over independent paths with arbitrary delays—there is no dedicated circuit as is the case for traditional telephony. The absence of a dedicated circuit does not impact traditional Web-browsing, however. A user wishing to download a webpage can wait until the various packets making up the webpage's content are routed through the Internet and then re-assembled to present the desired content.
But effective voice communication cannot occur with arbitrary delays on the digitized voice messages. Instead, effective voice communication can tolerate a maximum of approximately 100 to 150 milliseconds of delay between the time speech is uttered and the time it is heard by the listener. Greater delays hinder communication and violate the users' real-time expectations. But packets themselves hinder real-time communication. For example, suppose a VoIP protocol uses 500-byte packets. Assuming that voice is digitized at 8000 one-byte samples per second, each 500-byte packet would take 62.5 milliseconds to fill. Over 60% of the entire acceptable delay may thus be taken up by just filling the packet, which hasn't yet traversed the Internet. To combat this problem, specialized voice compression and VoIP protocols have been developed such as H.323.
As the use of VoIP telephony expands into the home market, it must combat the restricted data rates typically available to a home-based Internet user. For example, consider the two most-commonly-used high-speed Internet access methods available for the home user: Digital Subscriber Line (DSL) and cable modem services. For both services, the available data rates and corresponding bandwidths are typically asymmetrically proportioned such that a user has a greater downstream data rate than an upstream data rate. This asymmetric division satisfies a typical Web-browser's needs in that content generally flows downstream from webpages to a user's web-browser rather than in the upstream direction. Depending upon the subscription purchased, a DSL provider will offer varying data rate packages to its users. For example, a DSL provider may offer a standard package providing a downstream data rate of 512 kbps and an upstream data rate of 128 kbps. In contrast to the conventional package just described, “premium” packages would offer greater downstream and upstream data rates, albeit in analogous asymmetric proportions. The upstream data rate for a cable modem service is more nebulous in that cable modem services do not offer the fixed data rates that DSL services can offer. Instead, the available data rate for a cable modem is affected by the use of the cable by others and will thus vary depending upon cable traffic. However, cable modems typically proportion the available data rate for any given user in an asymmetric fashion between upstream and downstream uses. Thus, typical upstream cable modem data rates will also often be in the range of 128 kbps.
As discussed above, the acceptable delay for VoIP telephony is approximately 100 to 150 milliseconds. The limited upstream data rate typically provided by high-speed Internet access methods such as DSL and cable modems is a factor in this delay. If too little upstream data rate is available, the voice data rate is slowed such that the acceptable delay limit will be violated. For example, VoIP implemented with a G.711 codec requires up to 100 kbps in upstream data rate. But note that a VoIP caller may also be emailing others while speaking. In particular, recall that VoIP also supports the sending of digital content such as video in addition to the voice communication. Thus, a VoIP call may also compete for the limited upstream data rate with the presence of other digital content being transmitted upstream. In addition, the VoIP caller may be sharing a modem with other users on a LAN who happen to be uploading content. Depending upon the available upstream data rate, the data rate of content besides voice data may need to be limited to provide adequate VoIP telephony service.
Accordingly, there is a need in the art for improved VoIP systems that can estimate their available upstream data rate and adjust the upstream voice and non-voice data loads accordingly.
Embodiments of the present invention and their advantages are best understood by referring to the detailed description that follows. It should be appreciated that like reference numerals are used to identify like elements illustrated in the figures.